1
超越平台特定代码
AI013Lesson 8
00:00

历史上,C++ 缺乏与硬件服务进行统一交互的方式,迫使开发者陷入 “平台孤岛” 代码库因操作系统特定的 API(如 Win32 或 POSIX)而被割裂。本页标志着向一个新时代的转变,在这个时代中,C++ 标准库充当了通用抽象层的角色。

1. #ifdef 乱码时代的终结

在标准化之前,像创建线程或遍历目录这样的简单任务需要使用预处理器宏来处理不同的系统头文件(例如, <windows.h><pthread.h>)。这导致了臃肿且难以维护的代码。

2. C++11 的范式转变

标准开始重新掌控系统资源。具体而言, C++11 引入了高层并发特性,包括 std::thread、std::mutex 和 std::future,从而统一了语言与 CPU 之间的关系。

旧有模式(碎片化)#ifdef _WIN32CreateThread(...);#elsepthread_create(...);#endif现代(标准化)std::thread t(task);

3. 解耦厂商逻辑

通过摆脱平台特定代码,标准库提供了“一次编写,随处编译”的保障。平台维护的责任从开发者转移到了编译器供应商身上。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>